package com.youlai.boot.factory.service;

import com.youlai.boot.factory.model.entity.GarmentStyle;
import com.youlai.boot.factory.model.form.GarmentStyleForm;
import com.youlai.boot.factory.model.query.GarmentStyleQuery;
import com.youlai.boot.factory.model.vo.GarmentStyleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 服装款式服务类
 *
 * @author youlaitech
 * @since 2025-07-06 16:02
 */
public interface GarmentStyleService extends IService<GarmentStyle> {

    /**
     *服装款式分页列表
     *
     * @return {@link IPage<GarmentStyleVO>} 服装款式分页列表
     */
    IPage<GarmentStyleVO> getGarmentStylePage(GarmentStyleQuery queryParams);


    /**
     *服装款式联客户表分页列表
     *
     * @return {@link IPage<GarmentStyleVO>} 服装款式分页列表
     */
    IPage<GarmentStyleVO> getGarmentStyleWithCustomer(GarmentStyleQuery queryParams);


    /**
     * 获取服装款式表单数据
     *
     * @param id 服装款式ID
     * @return 服装款式表单数据
     */
     GarmentStyleForm getGarmentStyleFormData(Long id);


    /**
     * 获取服装款式连客户表表单数据
     *
     * @param id 服装款式ID
     * @return 服装款式表单数据
     */
    GarmentStyleVO getGarmentStyleFormWithCustomer(Long id);


    /**
     * 新增服装款式
     *
     * @param formData 服装款式表单对象
     * @return 是否新增成功
     */
    boolean saveGarmentStyle(GarmentStyleForm formData);

    /**
     * 修改服装款式
     *
     * @param id   服装款式ID
     * @param formData 服装款式表单对象
     * @return 是否修改成功
     */
    boolean updateGarmentStyle(Long id, GarmentStyleForm formData);

    /**
     * 删除服装款式
     *
     * @param ids 服装款式ID，多个以英文逗号(,)分割
     * @return 是否删除成功
     */
    boolean deleteGarmentStyles(String ids);

}
